A field increasing in importance for many industries is the authentication of one component (e.g., the identity of the component) of an electrical system (the claimant) to another component of the system (the verifier). Authentication can be used for a number of different purposes, the specifics of which can be left to individual artisans. In one embodiment, authentication can be used to confirm to the verifier that a particular claimant is what it purports to be or is what the verifier expects it to be. Obviously, in an authentication process such as this, it can be desireable to trust the verifier. One typical means to ensure that the verifier is trusted is for the verifier to be hosted in a physically secure server or computer. The claimant is usually not trusted until authenticated since it is not physically secured and therefore could be copied or altered.
One example of an authentication system is the system utilized in smart cards. The smart card itself is untrusted, thus with each commercial transaction it must be a claimant. The server/computer that it communicates with during the initial transaction is typically in a physically secure location and therefore trusted. Since the server is trusted, it can perform the verifier task for each commercial transaction. The common means typically utilized to implement authentication in such systems is called “challenge-response protocol”. The challenge-response protocol has three main steps during the commercial transaction when a claimant needs to be authenticated:
A. The verifier issues a random challenge to the claimant (sends a message with a random number in it to the claimant)
B. The claimant responds back to the verifier with the appropriate answer to the challenge (a unique number that is related to the challenge through cryptography)
C. The verifier confirms the claimant's answer is correct.
If the response is correct, than the claimant is authenticated and the commercial transaction can proceed. Assuming that the cryptographic system has not been compromised, the claimant must be legitimate in order to respond with a correct answer. Two common methods to ensure that only legitimate claimants can respond correctly to a random challenges are symmetrical and asymmetrical cryptography. Both the asymmetrical and symmetrical cryptography methods use algorithms that are published in the public domain, but maintain security through the use of keys that are only known by the systems designers. For example, in the case of symmetrical cryptography, both the verifier and the claimant use the same key. As such, reverse engineering in the claimant will reveal the key used by the verifier to derive the correct answer to the random number challenge. Two symmetric cryptographic algorithms which are widely used are DES and IDEA. DES (Data Encryption Standard) uses a 56 bit key and maps a 64 bit input block of plaintext onto a 64 bit output block of cipher text. IDEA (International Data Encryption Algorithm) uses a 128 bit key to encrypt a 64 bit block of plaintext into a 64 bit block of cipher text.
On the other hand, with asymmetrical cryptography, the claimant uses a different key (public key) to generate the answer than the key (private key) that is used by the verifier to relate the answer to the random challenge. The essential difference from symmetric cryptography is that asymmetric algorithms use two different keys for encryption and corresponding decryption. Each participant owns a unique pair of keys (a secret key and a public key). The secret key and the public key are mathematically dependent from each other, wherein the public key is easy to compute from the secret key, but the secret key is computationally unfeasible from the public key.
One drawback to both of these methods however is that substantial computational power typically must reside in the claimants. While this computational power can be less than required by the verifier, it still requires a significant hurdle for a claimant which may be a simple mobile device. Typical implementations discussed in the prior art have attempted to minimize the required computational power of the claimant. However, microprocessor like (or sequential) computational power is fundamentally required in the claimant for conventional symmetrical and asymmetrical challenge-response protocols, since advanced mathematical functions such as multiplication and modulation must be performed to generate the appropriate response to the challenge. This required computational power is cost prohibitive for many applications. As such, there is a need for a method to authenticate a claimant, wherein the claimant has a much lower threshold of computational power.